home *** CD-ROM | disk | FTP | other *** search
- ------------------------------------
- nroff (TOS, Minix) v1.10 7/22/90 wjr
- ------------------------------------
-
- This is an improved release of a version of nroff for both TOS and Unix
- (Minix and BSD). It was written under TOS and 4BSD unix but has been
- released with Minix 1.5.5 as well. Unfortunately I have no access to Minix
- so I do not know if this particular version will work correctly under Minix.
- It does run under both SunOS and Convex, both BSD, so i feel pretty confident
- that it should run under Minix. You will need to change the makefile
- regardless. I use Alcyon and my own cc(1).
-
- Besides small bug fixes, these are some new features since v0.99 (BETA):
-
- - added .if command which makes it possible to make a reasonable
- ms package
-
- - fixed the bug where line filling on lines containing standout
- would not fill properly
-
- - added a -ms package which is not half bad
-
- - enhanced the -man package
-
- Much of this works. The things that (still) don't are all the hard things:
- diversions, traps, conditionals, etc. See the man pages for what is not
- supported (yet). Font switching, underlining, etc. are limited to reverse
- video on the screen (TOS).
-
- There are decent man and ms packages included (tmac.an and tmac.s) which are
- not perfect but then they are not half bad either. To make them better, nroff
- needs diversions and traps, something that I will eventually do. They should
- handle most common man tasks, though. They get installed in /usr/lib/tmac
- under Minix and c:\lib\tmac under atari TOS, unless you change the location
- in nroff.h. For testing, you can
-
- % setenv TMACDIR .
- % nroff -man file
-
- to use tmac.an (say) in the cwd.
-
- For porting info, look in config.h, nroff.h and the makefile. The termcap
- library is used to get standout capabilites for doing bold and italics to
- the screen (Minix and Unix). The TOS version has these hardwired to the
- vt52 escapes. Minix and BSD have termcap(3) and S5R3 has terminfo, which I
- believe also includes the tgetent/tgetnum/tgetflag/tgetstr functions for
- compatibility. Note that the Sun /etc/termcap includes padding in some of
- the definitions which I strip out. See main.c.
-
- If you want to try and use nroff for printer output, the termcap library
- (Minix and Unix only) looks for TERMCAP in your environment (a file) so
- that you could do:
-
- % env TERMCAP=printer_termcap_file nroff -man file
-
- and substitute your own file with "so" (standout) for your printer. This
- assumes your system has env, but you get the idea.
-
- The program is small enough to work under Minix. It does not have a large
- stack, but does store all macros and strings in a common namespace. Look
- in nroff.h for the size.
-
- If you do hack away, I would appreciate you sending me the changes so I can
- keep this centralized.
-
- The future holds increased capabilites, though I find it pretty useful
- as it is. Most man things are possible and you can do reports and resumes
- and such without much problem. See the example files included as well as
- the manpage sources (nroff.man, man.man, ms.man) and the macro libraries
- (tmac.an and tmac.s) for more help. Most people do not write macro libraries
- but rather use the predefined macros (-man and -ms) which are supported
- pretty well at this point.
-
- Things to do include:
-
- - support for "block" if's, i.e.
-
- .if condition \{\
- ...
- ...
- ... \}
-
- - support for .ie/.el (if/else)
-
- - traps, diversions
-
- - vertical motions
-
- - two-character user number registers
-
- - tabs, leaders, and fields
-
- - hyphenation
-
- - environment switching
-
- If anyone has a few spare minutes, maybe you could add these? Just kidding!
-
-
- Enjoy...
-
-
- -Bill Rosenkranz
- rosenkra%c1yankee@convex.com
-
- ----- Appended on 7 June 1992 17:45 -----------
- Linux notes:
-
- Well to make this baby I essentially scrapped the make file and had to
- hard code the termcap related stuff for vt100, so if you wonder why
- it doesnt work with anything but VT100, that's why. The whole thing
- was statically built so you shouldn't need the gcc 2.12c shared
- library file. I've tested it with the -man option (all that's really
- important) and it seems to work.
-
- If you manage to get the sources and you feel like making it again,
- I did the following (which isn't the best practice but it works for me):
-
- gcc -O6 -static -c *.c
- gcc -static *.o -o nroff
- strip nroff
-
- (you can consider that the new makefile, but I'm too lazy to make one)
- Remember, key phrase, it works for me. If you have any problems,
- let me know...
-
- Please read the MANIFEST file to find out where things go...
-
- Please report any errors, comments, suggestions to:
- Nathan Laredo
- gt7080a@prism.gatech.edu
-
- ------ Appended on 7 June 1992 18:00 for source package ------
-
- Source notes for Linux nroff:
-
- As I said above, I trashed the make file... to make nroff, all you
- need to do is what's in the three lines above. If you wish to make
- a make file, feel free. It seems to work as is, and at the moment
- that's all that counts.
-
- There are some careless things that I had to change in the source.
- I hard coded the vt100 codes. This is not good. If you're able
- to get this to work in a more general way, let me know, but it
- seems at the moment linux will not support what was done for
- minix in the original sources. I was not able to make a diff
- file. Sorry. You probably can make one yourself though. The
- original files that I had to work with were on
- wuarchive.wustl.edu somewhere in the systems/minix structure..
- use archie to look for it... you'll find it as nroff-1.10p3.tar.Z.
-
- You can make diffs from that if you want. I don't have enough
- energy at the moment to do that with exams this week.
-
- If you have any comments, questions, or suggestions,
- please feel free to mail me at gt7080a@prism.gatech.edu
-
- Nathan Laredo
- Box 37080
- Georgia Institute of Technology
- Atlanta, Georgia 30332
-
- Please excuse the non-standardness of this release... it's the first.
- You can find the compiled binary in nroffbin.tar.Z.
-
-